package com.gusto.engine.semsim.measures.impl;

import com.gusto.engine.semsim.measures.Similarity;
import com.gusto.engine.semsim.measures.types.SemTypes;

/**
 * <p>{@code ComposedSimilarityParam} defines a single parameter 
 * of the {@link ComposedSimilarity} measure.<br/>
 * If you do not specify the property it assumes you want to use the resource itself.<br/>
 * If you don't specify the weight, it is by default set to 1.</p>
 * @author amokrane.belloui@gmail.com
 */
public class ComposedSimilarityParam {
	
	private String property = "";
	private Double weight = 1.0;
	private SemTypes type;
	private Similarity similarity;
	
	public ComposedSimilarityParam() {
		
	}
	

	public ComposedSimilarityParam(String property, Double weight, SemTypes type, Similarity similarity) {
		this.property = property;
		this.weight = weight;
		this.type = type;
		this.similarity = similarity;
	}
	
	public String getProperty() {
		return property;
	}
	public void setProperty(String property) {
		this.property = property;
	}
	
	public Double getWeight() {
		return weight;
	}
	public void setWeight(Double weight) {
		this.weight = weight;
	}
	
	public SemTypes getType() {
		return type;
	}
	public void setType(SemTypes type) {
		this.type = type;
	}
	
	public Similarity getSimilarity() {
		return similarity;
	}
	public void setSimilarity(Similarity similarity) {
		this.similarity = similarity;
	}
	
}
